#ifndef FGE_INPUT_HPP
#define FGE_INPUT_HPP

namespace fge
{

enum Key
{
	Key_BackSpace = 8,
	Key_Tab = 9,
	Key_Enter = 13,
	Key_Pause = 19,
	Key_Escape = 27,
	Key_Space = 32,
	Key_Quote = 39,
	Key_Plus = 43,
	Key_Comma = 44,
	Key_Minus = 45,
	Key_Period = 46,
	Key_Slash = 47,
	Key_0	 = 48,
	Key_1	 = 49,
	Key_2	 = 50,
	Key_3	 = 51,
	Key_4	 = 52,
	Key_5	 = 53,
	Key_6	 = 54,
	Key_7	 = 55,
	Key_8	 = 56,
	Key_9	 = 57,
	Key_Semicolon = 59,
	Key_Equals = 61,

	Key_Backslash = 92,

	Key_A	 = 97,
	Key_B	 = 98,
	Key_C	 = 99,
	Key_D	 = 100,
	Key_E	 = 101,
	Key_F	 = 102,
	Key_G	 = 103,
	Key_H	 = 104,
	Key_I	 = 105,
	Key_J	 = 106,
	Key_K	 = 107,
	Key_L	 = 108,
	Key_M	 = 109,
	Key_N	 = 110,
	Key_O	 = 111,
	Key_P	 = 112,
	Key_Q	 = 113,
	Key_R	 = 114,
	Key_S	 = 115,
	Key_T	 = 116,
	Key_U	 = 117,
	Key_V	 = 118,
	Key_W	 = 119,
	Key_X	 = 120,
	Key_Y	 = 121,
	Key_Z	 = 122,

	Key_Delete = 127,

	Key_NP_0 = 256,
	Key_NP_1 = 257,
	Key_NP_2 = 258,
	Key_NP_3 = 259,
	Key_NP_4 = 260,
	Key_NP_5 = 261,
	Key_NP_6 = 262,
	Key_NP_7 = 263,
	Key_NP_8 = 264,
	Key_NP_9 = 265,
	Key_NP_Period = 266,
	Key_NP_Divide = 267,
	Key_NP_Multiply = 268,
	Key_NP_Minus = 269,
	Key_NP_Plus = 270,
	Key_NP_Enter = 271,
	Key_NP_Equals = 272,

	Key_Up	 = 273,
	Key_Down = 274,
	Key_Right = 275,
	Key_Left = 276,
	Key_Insert = 277,
	Key_Home = 278,
	Key_End = 279,
	Key_PageUp = 280,
	Key_PageDown = 281,

	Key_F1	 = 282,
	Key_F2	 = 283,
	Key_F3	 = 284,
	Key_F4	 = 285,
	Key_F5	 = 286,
	Key_F6	 = 287,
	Key_F7	 = 288,
	Key_F8	 = 289,
	Key_F9	 = 290,
	Key_F10 = 291,
	Key_F11 = 292,
	Key_F12 = 293,
	Key_F13 = 294,
	Key_F14 = 295,
	Key_F15 = 296,

	Key_Numlock = 300,
	Key_Capslock = 301,
	Key_Scrollock = 302,
	Key_RightShift = 303,
	Key_LeftShift = 304,
	Key_RightCtrl = 305,
	Key_LeftCtrl = 306,
	Key_RightAlt = 307,
	Key_LeftAlt = 308,

	Key_Maximum = 323
};

enum MouseButton
{
	Mouse_Left = 1,
	Mouse_Middle = 2,
	Mouse_Right = 3,
	Mouse_WheelUp = 4,
	Mouse_WheelDown = 5,
	Mouse_Button4 = 6,
	Mouse_Button5 = 7,
	Mouse_Maximum = 8
};

}

#endif//FGE_INPUT_HPP
